The present invention relates to communications systems, more particularly to Code Division Multiple Access (CDMA) communications systems, and even more particularly to efficiently and accurately determining whether particular information has been detected in a received signal in a CDMA communications system.
The cellular telephone industry has made phenomenal strides in commercial operations throughout the world. Growth in major metropolitan areas has far exceeded initial expectations and is rapidly outstripping system capacity. If this trend continues, the effects of this industry's growth will soon reach even the smallest markets. Innovative solutions are required to meet these increasing capacity needs as well as to maintain high quality service and avoid rising prices.
Throughout the world, one important step in the advancement of radio communication systems has been the change from analog to digital transmission. Equally significant is the choice of an effective digital transmission scheme for implementing next generation technology. Furthermore, Personal Communication Networks (PCNs), employing low cost, pocket-sized, cordless telephones that can be carried comfortably and used to make or receive calls in the home, office, street, car, and the like, are being provided by, for example, cellular carriers using the digital cellular system infrastructure. An important feature desired in these new systems is increased traffic capacity, and efficient use of this capacity. It is also important for the portable devices in such systems to provide high quality service while conserving energy to whatever extent possible, since they are very often powered by batteries.
Recent efforts at providing such systems have focused on the use of Wideband CDMA (WCDMA) techniques. In a WCDMA system, multiple users utilize the same radio spectrum simultaneously. From the point of view of a receiver in a WCDMA system, a received signal comprises a desired signal (i.e., a signal intended to be received by that particular receiver) and a high level of noise. To enable the receiver to extract the desired signal from the received signal, information intended for that receiver is “spread” by combining (e.g., by multiplying) the information with a much higher bit rate known signature sequence. The signature sequence is unique to this particular receiver. One way to generate the signature sequence is with a pseudo-noise (PN) process that appears random, but can be replicated by an authorized user.
Because each active transmitter is utilizing the same process, a plurality of spread information signals modulate a radio frequency carrier, for example by binary phase shift keying (BPSK), and as said before, are jointly received as a composite signal at the receiver. Each of the spread signals overlaps all of the other spread signals, as well as noise-related signals, in both frequency and time. If the receiver is authorized, then the composite signal is correlated with one of the unique signature sequences, and the corresponding information signal can be isolated and despread. If quadrature phase shift keying (QPSK) modulation or quadrature amplitude modulation (QAM) is used, then the signature sequence may consist of complex numbers (having real and imaginary parts), where the real and imaginary parts are used to modulate respective ones of two carriers at the same frequency, but ninety degrees out of phase with respect to one another.
Traditionally, a signature sequence is used to represent one bit of information. However, other types of signature sequences can be employed. Receiving the transmitted signature sequence or its complement indicates whether the information bit is a +1 or −1, sometimes denoted “0” or “1”. The signature sequence usually comprises some number, N, bits, and each bit of the signature sequence is called a “chip”. The entire N-chip sequence, or its complement, is referred to as a transmitted symbol. The conventional receiver, such as a RAKE receiver, correlates the received signal with the complex conjugate of the known signature sequence to produce a correlation value. Only the real part of the correlation value is computed. When a large positive correlation results, a “0” is detected; when a large negative correlation results, a “1” is detected. It should be recognized that other types of receivers and other correlation techniques can be employed.
A number of efforts to standardize the use of WCDMA techniques in mobile communication systems exist. One such effort is being accomplished by the Third Generation Partnership Project (“3GPP”). The term “third generation” refers to the fact that so-called second-generation radio access technology brought mobile telephony to a broad market. By contrast, third-generation radio access technology extends beyond basic telephony: a common, Internet Protocol (IP)-based service platform will offer mobile users an abundance of real-time and non-real time (traditional data) services.
Typical services with real-time requirements are voice and video, as well as delay-sensitive applications, such as traffic-signaling systems, remote sensing, and systems that provide interactive access to World Wide Web (WWW) servers. As explained in, for example, F. Müller et al., “Further evolution of the GSM/EDGE radio access network”, Ericsson Review vol. 78, no. 3, pp. 116-123 (2001), the challenge is to implement end-to-end services based on the Internet Protocol (IP). The main benefit of running IP end-to-end—including over the air interface—is service flexibility. Indeed, flexibility more or less eliminates dependencies between applications and underlying networks, for example, access networks. To date, cellular access networks have been optimized in terms of voice quality and spectrum efficiency for circuit-switched voice applications. However, for services such as IP multimedia, which includes voice, the main challenge is to retain comparable quality and spectrum efficiency without decreasing service flexibility. Today, for example, we can suffer considerable protocol overhead when we bridge the air interface with real-time protocol (RTP), user datagram protocol (UDP) or IP packets (which carry media frames). Needless to say, this runs counter to the goal of spectrum efficiency. To achieve spectrum efficiency, we can instead characterize different packet data streams in terms of bandwidth and delay requirements. Characterization of this kind is useful when implementing admission access algorithms that accommodate multiple user data streams in available spectrum. Different methods of limiting data (such as header compression and session signaling compression) must also be applied to obtain adequate spectrum efficiency.
T. Hedberg and S. Parkvall, “Evolving WCDMA”, Ericsson Review vol. 77, no. 2 pp. 124-131 (2001) describes how, for the purpose of improving support for best-effort packet data, the 3GPP is working on an evolution of WCDMA known as high speed downlink packet data access (HSDPA). This enhancement to prior systems increases capacity, reduces round-trip delay, and increases peak data rates up to 8-10 Mbit/s. To achieve these goals, a new downlink shared channel (HS-DSCH) has been introduced. In addition, three fundamental technologies, which are tightly coupled and rely on the rapid adaptation of the transmission parameters to the instantaneous radio conditions, have been introduced with this channel:    fast-link adaptation technology allows adaptation of the channel coding rate, and enables the use of spectral-efficient higher-order modulation (e.g., 16 QAM) when channel conditions permit (for example, during a fading peak), and reverts to robust QPSK modulation during less favorable channel conditions (for example, when experiencing a fading dip);    fast hybrid automatic-repeat-request (H-ARQ) technology rapidly requests the retransmission of missing data entities and combines the soft information from the original transmission and any subsequent retransmissions before any attempts are made to decode a message; and    fast scheduling of users sharing the HS-DSCH—this technique, which exploits multi-user diversity, strives to transmit to users with favorable radio conditions.
With the basic principles above, there is a possibility of unequal service provision, offering higher data rates to users in favorable conditions.
One aspect of HSDPA is its channel structure. The transport channel for carrying user data is a high-speed downlink shared channel (HS-DSCH). A corresponding physical channel is denoted by HS-PDSCH. The HS-DSCH code resources include one or more channelization codes with a fixed spreading factor of 16. In order to leave sufficient room for other required control and data bearers, up to 15 such codes can be allocated. The available code resources are primarily shared in the time domain. For example, they may be allocated to one user at a time. Alternatively, the code resources may be shared using code multiplexing. In this case, two to four users share the code resources within a same transmission time interval (TTI).
The HS-DSCH employs a short (2 ms) TTI in order to reduce link adaptation delays, increase the granularity in the scheduling process, facilitate better tracking of the time varying radio conditions, and decrease the round trip time (RTT).
In addition to user data, it is also necessary to transmit control signaling to notify the next user equipment (UE) to be scheduled. This signaling is conducted on a high-speed shared control channel (HS-SCCH), which is common to all users. The HS-SCCH is transmitted two slots in advance of the corresponding HS-DSCH TTI. The HS-SCCH is encoded by a user equipment-specific mask and also contains lower layer control information, including the employed settings for modulation, coding scheme, channelization code, and H-ARQ.
In addition to the above-described channels, every user equipment has an associated dedicated physical channel (DPCH) in both the uplink and downlink directions. The downlink associated channel carries the signal radio bearer for Layer 3 signaling as well as power control commands for the uplink channel. By contrast, the uplink channel is used as a feedback channel, which for example might carry the TPC commands for downlink power control. If needed, other services (e.g., circuit-switched voice or video) can also be carried on the DPCH.
The HSDPA concept also calls for an additional high-speed dedicated physical control channel (HS-DPCCH) in the uplink for carrying the Channel Quality Indicator (CQI) information in addition to the H-ARQ acknowledgements.
Focusing now on the HS-SCCH, it is used to address the UE by the network. The HS-SCCH carries the following information:    1. UE identity (16 bits): Xue     2. Channelization-code-set (7 bits): Xccs     3. Modulation scheme information (1 bit): Xms     4. Transport-block size information (6 bits): Xtbs     5. Hybrid-ARQ process information (3 bits): Xhap     6. Redundancy and constellation version (3 bits): Xrv     7. New data indicator (1 bit): Xnd 
The first three of the above are needed to be able to set up the RAKE receiver for reception of the HS-PDSCH—indeed the UE identity information is used by the UE to determine whether it is the intended recipient of the data that is about to be transmitted. Thus, the HS-SCCH is transmitted in two successive parts, with the first three of the above being transmitted in Part 1 of the HS-SCCH. The remaining information is carried in Part 2 of the HS-SCCH. All Layer 1 (L1) information is transmitted on the HS-SCCH; that is, no L1 information is transmitted on the HS-PDSCH or DPCH.
There can be up to a maximum of four HS-SCCH codes to monitor in a cell, all transmitted with a spreading factor of 128 and QPSK modulation. In order to allow time for decoding and setting up the receiver for reception in the UE, the HS-PDSCH sub-frame (which carries the user data) doesn't begin until two slots after the start of the HS-SCCH sub-frame. This is illustrated in FIG. 1, and described in greater detail in 3GPP TS 25.101 V5.5.0 (2003-09). This arrangement allows the entire HS-SCCH Part 1 to be received and then decoded simultaneously with reception of the first slot of HS-SCCH Part 2.
FIG. 2 is a flowchart depicting conventional actions performed within a UE in connection with the HS-SCCH. It should be understood that if the UE, due to its UE Category, has limits on inter-TTI, then there has to be a certain distance between TTIs with HS-PDSCH. This will make HS-SCCH reception unnecessary for some TTIs. Thus, an initial action taken by the UE is to wait until a next possible subframe (step 201). Then, HS-SCCH Part 1 is received for up to four spreading codes (step 203).
Next, two operations are performed in parallel: HS-SCCH Part 1 is decoded (step 205) and slot 1 of HS-SCCH Part 2 is received for all possible codes (step 207). Which, if any, of these received HS-SCCH Part 2s to use will be decided by the Part 1 information.
It needs to be determined whether the UE detected that the received HS-SCCH Part 1 is intended for this particular UE (decision block 209). If the answer is “no” (“NO” path out of decision block 209), then there is no point in taking further steps to receive this HS-SCCH, and the process is aborted (step 211). In this case, processing will continue back at step 201.
If it has been determined that the decoded HS-SCCH Part 1 is intended for this UE (“YES” path out of decision block 209), then it is known which code, c, applies to this HS-SCCH. Processing then continues by using the spreading codes from the Part 1 decoding to set up the UE to receive the HS-PDSCH (step 213) and, in parallel with this action, receiving the second slot of Part 2 for HS-SCCH associated with code c (step 215) and then decoding Part 2 of the HS-SCCH associated with code c (step 217).
After the HS-SCCH Part 2 has been received and decoded, its CRC code can be checked to determine whether decoding has been successful (decision block 219). If not (“NO” path out of decision block 219), then HS-PDSCH reception is aborted (step 221) and processing reverts back to step 201.
If the HS-SCCH Part 2 decoding was successful (“YES” path out of decision block 219), then the UE is set up for reception of HS-PDSCH slot 3 according to code c (step 223). The UE is then set up to decode the HS-PDSCH using parameters derived from HS-SCCH Part 2 decoding (step 225).
Referring back to decision block 219, it should be understood that an unsuccessful decoding of HS-SCCH Part 2 can be the result of errors introduced in the HS-SCCH Part 2 itself, but it can also be the result of erroneously determining that HS-SCCH Part 1 had been successfully detected. To show why this is so, the following discussion will take a closer look at HS-SCCH Part 1.
FIG. 3 illustrates the conventional process that is undertaken to construct the HS-SCCH information (both Parts 1 and 2). The Xccs and Xms parameters are combined by a multiplexer 301 to generate data denoted X1. As is conventional in the art, multiplexers 301 and 311 which concatenate inputs into an output are illustrated without a selection control input. In order to generate the Part 1 portion of HS-SCCH, the data X1 is then convolutionally encoded by channel coding logic 303 that performs channel coding 1 to generate data denoted Z1. Rate matching logic 305 then performs Part 1 rate matching that transforms the data Z1 into data denoted R1.
In order to enable the UE to detect that it is the intended recipient of the HS-SCCH Part 1 message, UE masking logic 307 that performs UE specific masking on R1 is then applied. The details of this masking will now be described in connection with the logic diagram illustrated in FIG. 4. In one aspect of this logic, a unique code representing the UE that is the intended recipient is generated by applying convolutional coding logic 401 to the 16-bit Xue data to generate a 48-bit number denoted bi. Puncturing logic 403 is then applied to bi to generate a 40-bit number denoted ci. The number ci is then applied as a mask to the data R1 by performing a logical exclusive-OR (XOR) operation 405 between the two values. The resulting value is denoted S1.
The idea behind this masking is that each UE receiving the HS-SCCH Part 1 message can apply its own known value of ci in a de-masking operation. For example, where XOR is used as a masking function, then again applying the same ci value will un-do the original masking operation. If the resulting value is a useable R1 value (i.e., if R1 is a valid codeword), this means that the UE's value of ci was the right one, and that UE is the intended recipient of the HS-SCCH. All other UE's will apply the wrong-valued ci, which will result in a non-decodable value, thus informing each of those UE's that it was not the intended recipient of the HS-SCCH Part 1 message. It has been determined that the minimum Hamming distance between two masks (ci in FIG. 4) is 8.
It is worth noting that, while in principle, each UE applies masking to the received HS-SCCH Part 1 and then determines whether the resultant R1 is a valid codeword, this is not necessary in practical embodiments. The reason for this is because each UE is capable of knowing what its own HS-SCCH Part 1 ought to look like just prior to de-masking. Thus, more efficient embodiments can be implemented that skip the UE's own masking step.
Referring back now to FIG. 3, the generation of HS-SCCH Part 2 information will now be described. In one aspect, r, s, and b parameters are provided to RV coding logic 309 to generate redundancy and constellation version information, Xrv. The Xrv information as well as Xtbs, Xhap, and Xnd are combined in multiplexing logic 311 to generate X2 information. The X2 information along with Xue and X1 are then supplied to UE specific CRC attachment logic 313 to generate Y information. Specifically, the UE specific attachment logic 313 combines the Part 1 information (X1) and Part 2 information (X2) and generates a CRC. The CRC is masked with the UE identity (Xue), and the result is appended to the Part 2 information to generate the Y information. For more information regarding the operation of the UE specific CRC attachment logic, the interested reader should refer to the document 3GPP TS 25.212 V5.6.0 (2003-09), the entire contents of which are herein expressly incorporated by reference. This is then processed by channel coding 2 logic 315 to generate Z2 information. The Z2 information is processed by rate matching 2 logic 317 to generate R2 information.
Finally, the S1 information (from HS-SCCH Part 1 generation) and the R2 information are subjected to physical channel mapping logic 319 to yield the HS-SCCH.
Referring back to Part 1 detection (e.g., decision block 209 in FIG. 2), it is known to utilize a maximum likelihood (ML) algorithm to correlate the received HS-SCCH Part 1 information with all 256 possible hypothesized codewords R1 (or S1 if masking is included). The ML method will now be explained in greater detail.
Introduce Ŝ1c as the received codeword on code c ε [1, . . . ,nc]. In the described approach de-masking is not done on the received codeword. Masking is instead included in the hypothesized codewords. An equivalent method is to work on de-masked received codewords {circumflex over (R)}1c. We model Ŝ1c as:
            S      ^        1    c    =      {                                                      S              1                        +                          e              c                                                            if            ⁢                                                  ⁢            UE            ⁢                                                  ⁢            addressed            ⁢                                                  ⁢            on            ⁢                                                  ⁢            code            ⁢                                                  ⁢            c                                                                          v              c                        +                          e              c                                                            if            ⁢                                                  ⁢            UE            ⁢                                                  ⁢            not            ⁢                                                  ⁢            addressed            ⁢                                                  ⁢            on            ⁢                                                  ⁢            code            ⁢                                                  ⁢            c                              where ec is a noise vector containing impairments from imperfect transmission/reception, and vc is a random vector due to the masking/de-masking arrangement.
In the example of HSDPA, X1 is an 8-bit vector. Therefore, there are 256 corresponding codewords S1 for any given UE. The codewords are enumerated S1i,i ε[0, . . . ,255]. If we introduce
            S      1      mat        =          [                                                                                                                                                                                S                          1                          0                                                                                                                                                              S                          1                          2                                                                                                                                                                  ⋮                                                                                                        S              1              255                                          ]        ,then the decision matrix D is constructed asD=S1mat└Ŝ11T . . . Ŝ1ncT┘.
The maximum likelihood detection for each code c is then found as the row number associated with the largest value in the corresponding column of D:MLc=maxind(D(:,c)), c=[1, . . . ,nc]
To allow for comparison of ML estimates from different codes, estimates of the variance of vc+ec are formulated asVc=1/254[D(excl.MLc,c]T[D(excl.MLc,c]where “excl.” means exclude element with index x, and in this case results in a new vector with one less element, i.e., without the peak. The detection can then be defined as
            c      detection        =                  maxind                  c          ∈                      [                          1              ,              …              ⁢                                                          ,                              n                c                                      ]                              ⁡              (                              D            ⁡                          (                                                ML                  c                                ,                c                            )                                /                      sqrt            ⁡                          (                              V                c                            )                                      )                        X              1        ⁢        _detection              =                  ML        c_detection            .      
The UE identity masking is the only measure taken to provide enough reliable transmission of HS-SCCH Part 1 information. Unlike the Part 2 information, the Part 1 information is not protected by CRC coding. This is not absolutely critical, since a UE mistakenly believing that it has detected HS-SCCH Part 1 information for itself will discover the mistake when the HS-SCCH Part 2 information doesn't check out (due to the use of an erroneous code c in the decoding process). Similarly, if a UE mistakenly fails to detect HS-SCCH Part 1 information, this too will be discovered when the transmitter notices that no ACK has ever been received for the subsequently transmitted data.
Still, these errors are costly in terms of wasted power (e.g., a UE expending energy receiving and decoding HS-SCCH Part 2 and HS-PDSCH information that is not really intended for that UE) and lost time and bandwidth (e.g., to detect that a transmission was never received by an intended recipient, and to retransmit that information).
While this background section has focused on a specific example in connection with reception of HS-SCCH information in a 3GPP system, similar problems can arise in any communication system that relies on correlation techniques to determine whether information has been accurately detected, and whether a decision should be made to abort further efforts to receive a multi-part message.
Accordingly, it is desirable to provide methods and apparatuses that can employ correlation techniques to accurately receive and decode information in an efficient manner in HSDPA as well as other systems.